package com.thinvent.workflow.web.controller;

import com.thinvent.workflow.common.constant.HttpStatus;
import com.thinvent.workflow.common.vo.ResponseResult;

/**
 * Copyright (C) 2023 思创数码科技股份有限公司
 * <p/>
 * 版权所有
 * <p/>
 * 类名　　  :
 * 功能概要  : 控制层基类
 *
 * @Author :
 */
public class BaseController {
    /**
     * 成功数据返回
     */
    protected ResponseResult success(String msg, Object data){
        ResponseResult result = new ResponseResult();
        result.setCode(HttpStatus.SUCCESS);
        result.setErrorCode("0");
        result.setMsg(msg);
        result.setData(data);
        return result;
    }

    /**
     * 成功数据返回
     */
    protected ResponseResult success(String msg){
        return this.success(msg,null);
    }

    /**
     * 成功数据返回
     */
    protected ResponseResult success(Object data){
        return this.success("操作成功",data);
    }

    /**
     * 成功数据返回
     */
    protected ResponseResult success(){
        return this.success("操作成功",null);
    }

    /**
     * 失败数据返回
     */
    protected ResponseResult error(){
        ResponseResult result = new ResponseResult();
        result.setCode(HttpStatus.ERROR);
        result.setMsg("操作失败");
        return result;
    }

    /**
     * 失败数据返回
     */
    protected ResponseResult error(String msg){
        ResponseResult result = new ResponseResult();
        result.setCode(HttpStatus.ERROR);
        result.setMsg(msg);
        return result;
    }

    /**
     * 响应返回结果
     *
     * @param rows 影响行数
     * @return 操作结果
     */
    protected ResponseResult toResult(int rows)
    {
        return rows > 0 ? success() : error();
    }
}
